/***************************************************************************
 创建者: 华磊
 开始时间: 2020.8.14
 copyright: (C) 华友高科
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) hualei 2020.5.8 类的具体实现代码编写

 ***************************************************************************
 *  @file x.h
 *  功能:
 *
 *                                                                         *
 ***************************************************************************/
#ifndef MCCONTROLLERTHREAD_H
#define MCCONTROLLERTHREAD_H

//#include <QThread>
//#include "ecattype.h"
#include "GeneralDefine.h"
#include "mccontrollerinterpreter.h"

//#include "../MotionServerUnitTest/motionthread.h"
//class McControllerInterpreter;
/**
 * @brief The McControllerThread class 算法实时被调用接口
 */
class McControllerThread
{
public:
    explicit McControllerThread(int robotIdIn, RegData *regDataIn,RobotIo* ioControllerIn);
    McControllerInterpreter * getControllerInterpreter();
    int getRobotId();

    int setMotorControlMode(int axisId, E_MOTOR_CONTROL_MODE modeIn);
    int algorithmFunctioncall(const QVector<bool> &servoOnStatus, const QVector<MotorData> &motorFeedback,
                              QVector<MotorData> &motorCommandOut, int &returnMutexFlag);//算法循环调用函数入口。
    int initialServoParameter();

public:
    McControllerInterpreter * mcControllerInterpreter;



protected:
//    void run();

private:
    int robotId;






    /***********************************
     * 时间：2017－3－30
     * 修改人：ｓｔｅｖｅｎ
     * 修改内容：添加寄存器对象的指针
     * *********************************/
    /**
     * @brief addRegData
     * @param mcThreadRegData          添加寄存器对象的指针
     */
//    void addRegData(RegData *mcThreadRegData);

};

#endif // MCCONTROLLERTHREAD_H
